The evolution and use of computer systems has created a need for video terminals that can achieve higher performance in numerous applications. CAD systems, word processing, order entry systems, high density text manipulation, high density graphics, animation applications and/or combinations of these applications increasingly demand higher performance as the complexity of these systems evolve. For example, graphics displays have greatly increased in pixel density in recent years and require greater data processing than was previously required by less complex displays.
Typically, three types of terminals have been used with such systems. These terminals are known in the art as "dumb terminals," "work stations, " and "smart terminals." Dumb terminals have no remote computing intelligence and are dependent upon a central host CPU to perform computational and graphics operations. Dumb terminals have the attendant disadvantage of relying upon and therefore burdening the central CPU. To relieve this burden, additional central CPU processing capability must be added or additional delay time is suffered.
Work stations are stand-alone computers which, although they can perform data manipulation, computation and graphics operations, typically do not share a common data base with the central CPU, are more expensive than dumb terminals and require maintenance of component parts such as disk drives and other components. Other work stations may be networked with the central CPU, however, this is a high cost alternative considering the cost of the remote overall computer and networking.
Smart terminals are essentially a hybrid between a dumb terminal and a work station. A smart terminal typically employs a local CPU which has some computational and graphics capability and which functions apart from the central CPU. A smart terminal also typically accesses a CPU memory and therefore overcomes the attendant problems associated with an independent work station and yet also provides intelligence not present in a dumb terminal.
Smart terminals used in graphics applications require a graphics controller which can modify and update pixel bit maps at a high speed, update text, draw lines and perform other graphics functions.
Prior art smart terminals typically burden the processor with low complexity transfer and manipulation operations because the processor is unable to proceed with other tasks while these low level operations are in progress. This prevents pre-processing of other information, and temporarily employs the processor's entire capacity to perform relatively simple tasks.
Therefore a dire need exists for a high performance graphics application controller that satisfactorily operates modern high performance terminals without unduly burdening the host computer and without the attendant disadvantages of independent work stations. This need exists in all environments that require pixel oriented data processing.